{{tag>dapper feisty gutsy hardy intrepid programmation}}
----

====== Valgrid =======



===== Présentation =====

**Valgrind** est une suite d'outils de profilage et de débuggage mémoire sous licence GPL, qui permet de détecter des problèmes de gestion mémoire dans des programmes écrits en C / C++. Plus généralement, **Valgrind** repose sur une architecture générique permettant la supervisation de programmes à l'aide de 3 outils :

  * Un détecteur d'erreurs mémoires
  * Un profileur sur temps d'exécution
  * Un profileur sur la mémoire

La détection d'erreurs fonctionne de cette manière : le programme doit être lancé dans l'environnement de Valgrind. Toutes les entrées / sorties mémoires sont alors analysées et vérifiées minitieusement en interceptant tous les appels à (malloc|new) et (free|delete).

<note importante>
**Valgrind** n'est pas capable de détecter certaines anomalies liées au code. Par exemple, il ne permet pas de vérifier les indices hors tableau sur des tableaux déclarés en statique.
</note importante>

===== Pré-requis =====
  * Avoir une connexion Internet fonctionnelle
  * Avoir les [[depots#universe_et_multiverse|dépôts Universe et Multiverse]] activés.

===== Installation =====
Il suffit d'installer le paquet **[[apt://valgrind]]**.

===== Utilisation =====
  - Ouvrez un terminal
  - Tapez la commande suivante pour lancer la détection de fuites mémoires sur votre programme binaire **test**

  valgrind --tool=memcheck --leak-check=yes test

===== Références =====
A titre informatif, voici quelques liens :

  * Manuel **Valgrind** complet : [[http://valgrind.org/docs/manual/index.html]]
  * Guide **Valgrind** de démarrage rapide : [[http://valgrind.org/docs/manual/QuickStart.html]]